#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <string.h>

//int main()
//{
//	char*str = "\\TOP\t\65\"";
//	while (*str++)
//	{
//		printf("%c\n", *str);
//	}
//	printf("%zd", strlen(str));
//	return 0;
//}

//int main()
//{
//	int a = 11;
//	int b = 2;
//	do
//	{
//		a /= b++;
//	} while(a>b);
//	printf("%d %d", a,b);
//	return 0;
//}

#include<stdio.h>
#include<string.h>
#include <stdlib.h>
//void GetMemory(char** p)
//{
//	*p = (char*)malloc(100);
//	if (*p == NULL)
//	{
//		perror("malloc");
//	}
//}
//void Test(void)
//{
//	char* str = NULL;
//	GetMemory(&str);
//	strcpy(str, "hello world");
//	printf("%s", str);
//	free(str);
//	str = NULL;
//}
//int main()
//{
//	Test();
//	return 0;
//}






#include<stdio.h>

//#define offsetof(type, number) (size_t)&(((type *)0)->number)
#define offsetof(type, number) (size_t)&(((type *)0)->number)

typedef struct student
{
	int num;
	char s1;
	int num1;
} stu;

int main()
{
	stu S1 = { 1,'a',1 };
	
	printf("%zd", offsetof(stu,num1));
	return 0;
}